import book.BookList;
import user.AdminUser;
import user.NormalUser;
import user.User;

import java.util.Scanner;

public class Main  {

//登录
    public static User login() {
        System.out.println("请输入你的姓名： ");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        System.out.println("请输入你的身份, 1: 管理员  2: 普通用户->> ");
        int choice = scanner.nextInt();

        if (choice == 1){
            return new AdminUser(name);  //发生了向上转型
        }else {
            return new NormalUser(name);  //发生了向上转型
        }

    }

    public static void main(String[] args) {

//bookList进行初始化，此时bookList进行初始化时BookList需要先放书
        BookList bookList = new BookList();

        User user = login();  //user指向哪个对象就看返回值是什么

//要再运行，循环，登录完成后给一个菜单
        while (true){

//user只能使用user自己的方法User，因此要在User里申明menu（）方法，才能够调用
            int choice = user.menu();  //根据choice选择决定调用哪个方法

            System.out.println("choice :"+choice);

//调用doOperation然后传入bookList，而bookList需要直接进行初始化
            user.doOperation(choice,bookList);
        }

    }

}